load("@pip//:requirements.bzl", "requirement")
load("@rules_java//java:defs.bzl", "java_binary")
load("@rules_python//python:defs.bzl", "py_binary")

package(default_visibility = ["//visibility:public"])

java_binary(
    name = "annotate",
    main_class = "org.batfish.main.annotate.Annotate",
    runtime_deps = [
        "//projects/allinone",
        "@maven//:org_apache_logging_log4j_log4j_core",
        "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
    ],
)

java_binary(
    name = "flatten",
    main_class = "org.batfish.main.Flatten",
    runtime_deps = [
        "//projects/allinone",
        "@maven//:org_apache_logging_log4j_log4j_core",
        "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
    ],
)

java_binary(
    name = "preprocess",
    main_class = "org.batfish.main.Preprocess",
    runtime_deps = [
        "//projects/allinone",
        "@maven//:org_apache_logging_log4j_log4j_core",
        "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
    ],
)

java_binary(
    name = "replay_bdd_trace",
    main_class = "org.batfish.allinone.bdd.main.ReplayBDDTrace",
    runtime_deps = [
        "//projects/allinone",
        "@maven//:org_apache_logging_log4j_log4j_core",
        "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
    ],
)

py_binary(
    name = "generate_pan_apps",
    srcs = ["generate_pan_apps.py"],
    deps = [
        requirement("xmltodict"),
    ],
)
